#ifndef STACK_H_HEAD
#define STACK_H_HEAD

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
typedef struct _STACK{
	int*		stack_top;
	int*		stack_buffer;
	int			stack_buffer_size;
	int			stack_count;
	int			stack_count_max;
}my_stack,* lp_my_stack;


bool stack_create(lp_my_stack out_MyStack, int in_buffer_size);
bool stack_push(lp_my_stack MyStack,  int in_param);
bool stack_pop(lp_my_stack MyStack, int* out_param);
bool stack_get_top(lp_my_stack, int* out_param);
bool stack_get_count(lp_my_stack,int* out_param);
bool stack_zero(lp_my_stack MyStack);
bool stack_destroy(lp_my_stack MyStack);


#endif
